gl renderer: Properly apply opacity in cross-fade shader
authorTimm Bäder <mail@baedert.org>
Wed, 24 Apr 2019 10:56:23 +0000 (12:56 +0200)
committerTimm Bäder <mail@baedert.org>
Wed, 24 Apr 2019 11:29:45 +0000 (13:29 +0200)
gsk/resources/glsl/cross_fade.fs.glsl

index 8f0f4115f445d35fd1fbeac8660cf46bd56f3c2a..612673bf6641e0942de6bfd6b0eb0d6eb50b1fed 100644 (file)
@@ -6,7 +6,8 @@ void main() {
   vec4 source1 = Texture(u_source, vUv);  // start child
   vec4 source2 = Texture(u_source2, vUv); // end child
 
-  float p = u_progress;
-  vec4 color = ((1.0 - p) * source1) + (p * source2);
+  float p_start = (1.0 - u_progress) * u_alpha;
+  float p_end = u_progress * u_alpha;
+  vec4 color = (p_start * source1) + (p_end * source2);
   setOutputColor(color);
 }